1. Technical Field
The present invention relates to a robot controller, a robot system, and a robot control method.
2. Related Art
Operations using robots such as manipulators include operations with various constraints, for example, in contact with objects. In these cases, force control is often required in addition to location control. For example, in the cases of tracing the surface of an object, fitting one object in another object, and grasping a soft object so as not to break it, movement in response to the reaction force from the object is necessary in addition to simple location control.
Representative methods of force control in robots include a method called impedance control. Impedance control is a control method of moving a robot, regardless of its real mass, viscosity property, and elasticity property, as if it had those values suitable for an operation. This is a control method of solving an equation of motion based on force information obtained from a force sensor attached to the robot and moving the robot according to the solution. By appropriately setting the equation of motion, a robot such as a manipulator can be moved as if it had predetermined mass, viscosity, and elasticity.
Note that, in the impedance control, in order to allow the robot or the like to behave as if it had desired properties (mass, viscosity property, elasticity property), it is necessary to solve a differential equation using coefficient parameters corresponding to the properties (an equation of motion as a second-order linear differential equation). Various methods of solving the differential equation are known, and the Runge-Kutta method, the Newton method, or the like is typically used.
As a related art with respect to impedance control and force control, a technology disclosed in JP-A-10-128685 or JP-A-2011-8360 is known.
In the impedance control, for example, force is specified as expansion and contraction of a virtual spring (virtual displacement).
However, in the case where large force is necessary, if large virtual displacement is specified, when external force for the force disappears, the manipulator produces very large movement corresponding to the specified virtual displacement. Such large movement is very problematic in practice and safety.
Further, by specifying large virtual displacement, large force (external force) can be produced in principle, however, there is a problem that a workpiece as an object of operation of the robot may be broken by the produced force.
These are the problems caused by impedance control for linear output with respect to virtual displacement. JP-A-10-128685 and JP-A-2011-8360 disclose methods of performing impedance control for linear output with respect to virtual displacement.
First, JP-A-10-128685 discloses a method of performing nonlinear impedance control by using a function that is non-linear with respect to virtual displacement as the elasticity term of an equation of motion in force control.
However, in this technology, there is a problem that it is very difficult to determine whether or not the equation of motion used for force control is stable.
JP-A-2011-8360 discloses a method of providing two (plural) control mechanisms and two control parameters and assuming a hyperplane called a sliding surface in a control state space, switching the two (plural) control mechanisms and the two control parameters depending on which of the spaces divided by the hyperplane contains the control state, and thereby, constraining the control state on the sliding surface and ensuring stability and convergence of the control system.
However, in this technology, it is difficult to design the sliding mode control system, and the technology is not suitable for practical use.